bf1fa061e3868d96c5035b34896b03e479549727,apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java,InternalTrayManager,getMainMenu,#,37

Before Change


    public PopupMenu getMainMenu() {
        PopupMenu popup = new PopupMenu();
        
        MenuItem browserLauncher = new MenuItem(_t("Launch I2P Browser"));
        browserLauncher.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                new SwingWorker<Object, Object>() {
                    @Override
                    protected Object doInBackground() throws Exception {
                        return null;
                    }
                    
                    @Override
                    protected void done() {
                        try {
                            I2PDesktop.browse("http://localhost:7657");
                        } catch (BrowseException e1) {
                            log.log(Log.WARN, "Failed to open browser!", e1);
                        }    
                    }
                }.execute();
            }
        });

        PopupMenu desktopguiConfigurationLauncher = new PopupMenu(_t("Configure I2P System Tray"));
        MenuItem configSubmenu = new MenuItem(_t("Disable"));
        configSubmenu.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                new SwingWorker<Object, Object>() {
                    @Override
                    protected Object doInBackground() throws Exception {
                        configureDesktopgui(false);
                        return null;
                    }
                }.execute();
            }
        });

        final MenuItem restartItem;
        if (_context.hasWrapper()) {
            restartItem = new MenuItem(_t("Restart I2P"));
            restartItem.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    new SwingWorker<Object, Object>() {
                        @Override
                        protected Object doInBackground() throws Exception {
                            RouterManager.restartGracefully(_context);
                            return null;
                        }
                    }.execute();
                }
            });
        } else {
            restartItem = null;
        }

        final MenuItem stopItem = new MenuItem(_t("Stop I2P"));
        stopItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                new SwingWorker<Object, Object>() {
                    @Override
                    protected Object doInBackground() throws Exception {
                        RouterManager.shutDownGracefully(_context);
                        return null;
                    }
                }.execute();
            }
        });

        final MenuItem restartItem2;
        if (_context.hasWrapper()) {
            restartItem2 = new MenuItem(_t("Restart I2P Immediately"));
            restartItem2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    new SwingWorker<Object, Object>() {
                        @Override
                        protected Object doInBackground() throws Exception {
                            RouterManager.restart(_context);
                            return null;
                        }
                    }.execute();
                }
            });
        } else {
            restartItem2 = null;
        }

        final MenuItem stopItem2 = new MenuItem(_t("Stop I2P Immediately"));
        stopItem2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                new SwingWorker<Object, Object>() {
                    @Override
                    protected Object doInBackground() throws Exception {
                        RouterManager.shutDown(_context);
                        return null;
                    }
                }.execute();
            }
        });

        final MenuItem cancelItem = new MenuItem(_t("Cancel I2P Shutdown"));
        cancelItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                new SwingWorker<Object, Object>() {
                    @Override
                    protected Object doInBackground() throws Exception {
                        RouterManager.cancelShutdown(_context);
                        return null;
                    }
                }.execute();
            }
        });

        popup.add(browserLauncher);
        popup.addSeparator();
        desktopguiConfigurationLauncher.add(configSubmenu);
        popup.add(desktopguiConfigurationLauncher);

After Change


        
        MenuItem browserLauncher;
        if (CONSOLE_ENABLED) {
            browserLauncher = new MenuItem(_t("Launch I2P Browser"));
            browserLauncher.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    new SwingWorker<Object, Object>() {
                        @Override
                        protected Object doInBackground() throws Exception {
                            return null;
                        }
                        
                        @Override
                        protected void done() {
                            launchBrowser();
                        }
                    }.execute();
                }
            });
        } else {
            browserLauncher = null;
        }

        PopupMenu desktopguiConfigurationLauncher = new PopupMenu(_t("Configure I2P System Tray"));
        MenuItem configSubmenu = new MenuItem(_t("Disable"));
        configSubmenu.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                new SwingWorker<Object, Object>() {
                    @Override
                    protected Object doInBackground() throws Exception {
                        configureDesktopgui(false);
                        return null;
                    }
                }.execute();
            }
        });

        final MenuItem restartItem;
        if (_context.hasWrapper()) {
            restartItem = new MenuItem(_t("Restart I2P"));
            restartItem.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    new SwingWorker<Object, Object>() {
                        @Override
                        protected Object doInBackground() throws Exception {
                            RouterManager.restartGracefully(_context);
                            return null;
                        }
                    }.execute();
                }
            });
        } else {
            restartItem = null;
        }

        final MenuItem stopItem = new MenuItem(_t("Stop I2P"));
        stopItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                new SwingWorker<Object, Object>() {
                    @Override
                    protected Object doInBackground() throws Exception {
                        RouterManager.shutDownGracefully(_context);
                        return null;
                    }
                }.execute();
            }
        });

        final MenuItem restartItem2;
        if (_context.hasWrapper()) {
            restartItem2 = new MenuItem(_t("Restart I2P Immediately"));
            restartItem2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    new SwingWorker<Object, Object>() {
                        @Override
                        protected Object doInBackground() throws Exception {
                            RouterManager.restart(_context);
                            return null;
                        }
                    }.execute();
                }
            });
        } else {
            restartItem2 = null;
        }

        final MenuItem stopItem2 = new MenuItem(_t("Stop I2P Immediately"));
        stopItem2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                new SwingWorker<Object, Object>() {
                    @Override
                    protected Object doInBackground() throws Exception {
                        RouterManager.shutDown(_context);
                        return null;
                    }
                }.execute();
            }
        });

        final MenuItem cancelItem = new MenuItem(_t("Cancel I2P Shutdown"));
        cancelItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                new SwingWorker<Object, Object>() {
                    @Override
                    protected Object doInBackground() throws Exception {
                        RouterManager.cancelShutdown(_context);
                        return null;
                    }
                }.execute();
            }
        });

        if (CONSOLE_ENABLED) {
            popup.add(browserLauncher);
            popup.addSeparator();
        }
        desktopguiConfigurationLauncher.add(configSubmenu);